iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0
Software Development

Python 微進階系列 第 8

Python 微進階 Day08 - 流程控制 - 1 - if、while、break、continue、pass

  • 分享至 

  • xImage
  •  

判斷

if elif else

  • 只有一組使用 if else,多組則中間加入 elif
  • 跟一般程式語言比較不同,Python 的 else if 簡寫為 elif
    • 可以使用多個 elif
    • 因此沒有一般的 switch-case 語法

if elif else

if 條件:
    # 條件(true)
    主程式區塊
# ---- 以下非必要
elif 條件:
    # 條件(true)
    elif 程式區塊
else:
    # 條件(false)
    else 程式區塊

迴圈

while

  • 跟一般程式語言比較不同,Python 的 while 可以加 else
    • 類似一般的 if else,條件(true)執行 while 程式區塊,條件(false)執行 else 區塊
    • 個人經驗比較少使用到

while

while 條件:
    # 條件(true)
    主程式區塊
# ---- 以下非必要
else:
    # 條件(false)
    else 程式區塊
a = 0
while a < 3:
    print("loop", a)
    a += 1
else:
    print("well done!")

# 一開始條件為 true 進入 while 區塊
# 直到條件為 false 進入 else 區塊

# loop 0
# loop 1
# loop 2
# well done!
b = 0
while b > 6:
    print(b)
    b += 1
else:
   print("NO")

# 一開始條件為 false 直接進入 else 區塊

# NO

break、continue、pass

  • break:跳出整個迴圈,包含 else 區塊
  • continue:跳出此次迴圈,不執行後續區塊內的程式,直接進入下次迴圈
  • pass:無影響,(個人)通常是程式需要一個內容避免語法錯誤

break

c = 0
while c < 6:
    print("loop", c)
    c += 1
    break
else:
    print("Well done!")
# --以上是迴圈區塊

# 進入 while 之後遇到 break 跳出整個迴圈(包含 else 區塊)
# 不執行 else 區塊程式

# loop 0
c = 0
while c < 6:
    print("loop", c)
    c += 1
    break
# --以上是迴圈區塊

print("Well done!")

# 進入 while 之後遇到 break 跳出整個迴圈,接續執行後續程式

# loop 0
# Well done!
c = 0
while c > 6:
    print("loop", c)
    c += 1
    break
else:
    print("NO")

# 條件不滿足為 false,直接進到 else 區塊
# 沒有用到 break

# NO

continue

c = 0
while c < 4:
    c += 1
    if c == 2:
        continue
    print("loop", c)
else:
    print("Well done!")

# 進入 continue 之後的程式段(loop 2)不執行

# loop 1
# loop 3
# loop 4
# Well done!

pass

c = 0
while c < 4:
    c += 1
    if c == 2:
        pass
    print("loop", c)
else:
    print("Well done!")

# 完整執行,不影響

# loop 1
# loop 2
# loop 3
# loop 4
# Well done!
if 條件:
    pass

# 避免語法錯誤

參考資料

次回

沒想到一個 break 讓我研究好久,後續說明 for 的部份


上一篇
Python 微進階 Day07 - dict(字典)
下一篇
Python 微進階 Day09 - 流程控制 - 2 - for、range()、enumerate()、zip()
系列文
Python 微進階31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言